Dependency Smells in JavaScript Projects
نویسندگان
چکیده
Dependency management in modern software development poses many challenges for developers who wish to stay up date with the latest features and fixes whilst ensuring backwards compatibility. Project maintainers have opted varied, sometimes conflicting, approaches maintaining their dependencies. Opting unsuitable can introduce bugs vulnerabilities into project, breaking changes, cause extraneous installations, reduce dependency understandability, making it harder others contribute effectively. In this paper, we empirically examine evidence of recurring issues (dependency smells). We look at commit data a dataset 1,146 active JavaScript repositories catalog, quantify understand smells. Through series surveys practitioners, identify seven smells varying degrees popularity investigate why they are introduced throughout project history. Our findings indicate that prevalent projects two or more distinct appearing 80% projects, but generally infect minority project's observations show number tend increase over time. Practitioners agree bring about problems including security threats, bugs, breakage, runtime errors, other maintenance issues. These as react misbehaviour shortcomings npm ecosystem.
منابع مشابه
Uncovering JavaScript Performance Code Smells Relevant to Type Mutations
In dynamic typing languages such as JavaScript, object types can be mutated easily such as by adding a field to an object. However, compiler optimizations rely on a fixed set of types, unintentional type mutations can invalidate the speculative code generated by the type-feedback JIT and deteriorate the quality of compiler optimizations. Since type mutations are invisible, finding and understan...
متن کاملOn the Use of Smelly Examples to Detect Code Smells in JavaScript
JavaScript has become one of the widely-used languages. However, as the size of JavaScript-based applications grows, the number of defects grows as well. Recent studies have produced a set of manually defined rules to identify these defects. We propose, in this work, the automation of deriving these rules to ensure scalability and potentially the detection of a wider set of defects without requ...
متن کاملType-based Dependency Analysis for JavaScript Technical Report
Dependency analysis is a program analysis that determinespotential data flow between program points. While it is not asecurity analysis per se, it is a viable basis for investigatingdata integrity, for ensuring confidentiality, and for guaran-teeing sanitization. A noninterference property can be statedand proved for the dependency analysis.We have designed and implement...
متن کاملHow Do Community Smells Influence Code Smells?
Code smells reflect sub-optimal patterns of code that often lead to critical software flaws or failure. In the sameway, community smells reflect sub-optimal organisational and socio-technical patterns in the organisational structure of the software community. To understand the relation between the community smells and code smells we start by surveying 162 developers of nine opensource systems. ...
متن کاملCode smells
s, titles and keywords were analysed by VOSviewer using default parameters. All common terms like study, baseline, control group, trend, method were excluded from the analysis. Three maps were induced (1) clustered landscapes presenting popularity of terms (more popular terms are presented in larger squares), associations between terms (terms locted near each other are stongly associated) and r...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: IEEE Transactions on Software Engineering
سال: 2022
ISSN: ['0098-5589', '1939-3520', '2326-3881']
DOI: https://doi.org/10.1109/tse.2021.3106247